﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using OnlineStore.Bll;
using OnlineStore.Dal;

namespace OnlineStore.Gui
{
    public partial class Voucher : System.Web.UI.Page
    {
        bizVoucher _bizVoucher = new bizVoucher();
        int page_now = -1;
        protected void Page_Load(object sender, EventArgs e)
        {
            /* Set Set Quyen */

            /*Set đăng nhập*/
            if (Session["user"] != null)
            {
                HL_tab_login.NavigateUrl = "/gui/Account.aspx";
                HL_tab_login.Text = ((tbCustomer)Session["user"]).Username;
                HL_tab_Logout.Visible = true;
            }
            /* */
            /* kiểm tra Key*/
            if (IsPostBack && Request.QueryString.Get("id")==null)
            {
                lb_warning_key.Visible = _bizVoucher.isVoucher(tb_VoucherKey.Text);
            }
            /**/
            /*Giỏ hàng bên phải*/
            ListCartRight.DataSource = (List<bizCart>)Session["cart"];
            ListCartRight.DataBind();
            lb_Sum.Text = String.Format("{0:0,0 VNĐ}", bizCart.SumAllList((List<bizCart>)Session["cart"]));
            lb_Sum_product.Text = String.Format("{0:0,0 VNĐ}", bizCart.PriceOrder(bizCart.SumAllList((List<bizCart>)Session["cart"])));
            /**/
            /* Load danh sách voucher */
            if (page_now == -1)
            {
                Load_Data();
            }
            /**/
            /*Edit Voucher*/
            if (Request.QueryString.Get("id") != null)
            {
                if (!IsPostBack)
                {
                    tb_VoucherKey.Enabled = false;
                    _bizVoucher = new bizVoucher(Request.QueryString.Get("id"));
                    lb_Submit.Text = "Edit";
                    bt_Random.Visible = false;
                    if (_bizVoucher.VoucherItem == null)
                    {
                        lb_warning.Visible = true;
                        tb_VoucherPrice.Enabled = false;
                        Date_End.Enabled = false;
                        Date_Begin.Enabled = false;
                        lb_warning.Text = "Không thể tìm thấy Voucher Yêu Cầu";
                    }
                    else
                    {
                        tb_VoucherKey.Text = _bizVoucher.VoucherItem.Voucher_Key;
                        tb_VoucherPrice.Text = _bizVoucher.Values.ToString();
                        BoxStatus.SelectedValue = _bizVoucher.VoucherItem.Status.Value.ToString();
                        Date_Begin.SelectedDate = _bizVoucher.VoucherItem.Begin_Date.Value;
                        Date_End.SelectedDate = _bizVoucher.VoucherItem.End_Date.Value;
                    }
                }
            }
            /**/
        }
        private void Load_Data()
        {
            if (page_now == -1)
            {
                page_now = 0;
                DalVoucher _dalVoucher = new DalVoucher();
                listVoucher.DataSource = _dalVoucher.LoadAllVoucher();
            }
            listVoucher.PageIndex = page_now;
            listVoucher.DataBind();
        }
        protected void OnRandom(object sender, EventArgs e)
        {
            string Key = _bizVoucher.RandomKey;
            if (Key == null)
            {
                lb_warning.Visible = true;
                lb_warning.Text = "Random Thất bại";
                tb_VoucherKey.Text = "";
            }
            else
            {
                lb_warning.Visible = false;
                tb_VoucherKey.Text = Key;
            }
        }

        protected void OnSubmit(object sender, EventArgs e)
        {
            /* Edit Voucher */
            if (Request.QueryString.Get("id") != null)
            {
                if (_bizVoucher.VoucherItem == null) return;
                if (Convert.ToDouble(tb_VoucherPrice.Text) < 1)
                {
                    lb_warning_Price.Visible = true;
                    return;
                }
                _bizVoucher.UpdateVoucher(tb_VoucherPrice.Text, Date_Begin.SelectedDate, Date_End.SelectedDate,BoxStatus.SelectedValue);
                return;
            }
            /**/
            if (Convert.ToDouble(tb_VoucherPrice.Text) < 1 || _bizVoucher.isVoucher(tb_VoucherKey.Text))
            {
                lb_warning_Price.Visible = true;
                page_now = -1;
                Load_Data();
                return;
            }
            if(_bizVoucher.Create(tb_VoucherKey.Text,tb_VoucherPrice.Text,Date_Begin.SelectedDate,Date_End.SelectedDate,BoxStatus.SelectedValue))
            {
                tb_VoucherKey.Text="";
                tb_VoucherPrice.Text="0";
                lb_warning.Text = "thêm thành công";
                
            }
            else
            {
                lb_warning.Text="Không thể thêm Voucher Vui lòng kiểm tra lại Voucher Key";
            }
            lb_warning.Visible = true;
            page_now = -1;
            Load_Data();
        }

        protected void listVoucher_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            page_now = e.NewPageIndex;
            Load_Data();
        }
    }
}